using Domain.Misc;
using System.Collections.Generic;

namespace Domain.Entities
{
    public class Forum : IIndexed
    {
        private short id;
        private string name;
        private short index;
        private int numberOfTopics;
        private int numberOfReplies;

        private Category category;
        private Message lastMessage;

        private IList<Topic> topics;

        public virtual short Id
        {
            get { return id; }
            internal set { id = value; }
        }

        public virtual string Name
        {
            get { return name; }
            internal set { name = value; }
        }

        public virtual short Index
        {
            get { return index; }
            set { index = value; }
        }

        public virtual int NumberOfTopics
        {
            get { return numberOfTopics; }
            internal set { numberOfTopics = value; }
        }

        public virtual int NumberOfReplies
        {
            get { return numberOfReplies; }
            internal set { numberOfReplies = value; }
        }

        public virtual Category Category
        {
            get { return category; }
            internal set { category = value; }
        }

        public virtual Message LastMessage
        {
            get { return lastMessage; }
            internal set { lastMessage = value; }
        }

        public virtual IList<Topic> Topics
        {
            get { return topics; }
            internal set { topics = value; }
        }
    }
}
